Engineering a Parallel Compiler for Standard Ml
نویسندگان
چکیده
We present the design and partial implementation of an automated parallelising compiler for Standard ML using algorithmic skeletons. Source programs are parsed and elaborated using the ML Kit compiler and a small set of higher order functions are automatically detected and replaced with parallel equivalents. Without the presence of performance predictions, the compiler simply instantiates all instances of the known HOFs with parallel equivalents. The resulting SML program is then output as Objective Caml and compiled with the parallel skeleton harnesses giving an exe-cutable which runs on networks of workstations. The parallel harnesses are implemented in C with MPI providing the communications subsystem. A substantial parallel exemplar is presented, an implementation of the Canny edge tracking algorithm from computer vision which is parallelised by implementing the map skeleton over a set of subimages.
منابع مشابه
Parallel Standard ML with Skeletons
We present an overview of our system for automatically extracting parallelism from Standard ML programs using algorithmic skeletons. This system identifies a small number of higher-order functions as sites of parallelism and the compiler uses profiling and transformation techniques to exploit these.
متن کاملImplementing Ml on the Fujitsu Ap1000
The CAP ML project seeks to develop a version of ML that is suitable for use on a distributed memory multiprocessor architecture such as the Fujitsu AP1000. Language extensions are proposed that have been developed in conjunction with a programmming methodology that is appropriate to that of a massively parallel computer whilst retaining a functional style. The implementation, which is based on...
متن کاملStatement of Research
History has shown the benefits of high-level languages, language design, and managed language runtimes on how programmers develop complex and sophisticated systems. High-level languages, such as Java and Standard ML, are strongly typed and provide rich abstraction mechanisms, thereby reducing the time and effort to develop software. Language primitives and abstractions provide semantic guarante...
متن کاملAn Extension of ML for Distributed Memory Multicomputers
This paper describes the design of paraML, an extension of ML with primitives for par-allelism that is suitable for use on a distributed memory multicomputer architecture such as the Fujitsu AP1000. Consideration of the lessons learned from previous parallel functional languages provided a focus for determining the requirements of parallel extensions of ML. These requirements are detailed, and ...
متن کاملComparative Cross-Platform Performance Results from a Parallelizing SML Compiler
We have developed a compiler for Standard ML which allows instantiation of a xed set of higher order functions with equivalent parallel algorithmic skeletons written in C and MPI. The compiler is intended to be both portable and semi-automatic. Here we discuss the performance of the code generated by the compiler, for ve exemplar programs on six MIMD parallel machines. Results suggest acceptabl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1998